문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 플린 분류 (문단 편집) ==== 컴파일러의 Auto-Vectorization ==== 현대 컴파일러는 루프가 명확한 경우 자동으로 코드를 SIMD화 하는것이 가능하다. {{{#!syntax cpp extern void int32x4_add_c(const int *src1, const int *src2, int *dest) { const int *a = src1; const int *b = src2; int *c = dest; for (int i = 0; i < 4; ++i) { c[i] = a[i] + b[i]; } return; } }}} 위 코드의 경우 컴파일러에게 옵션을 주면 자동으로 Vectorization하게 되고 Function prologue를 제외하면 동일한 어셈블리 코드를 생성해 낸다. 또한 인트린식이나 어셈블리를 사용하지 않으므로 플랫폼 의존적이지 않아 코드의 Portability가 유지된다. 그렇지만 단점도 있는데 컴파일러의 자동 최적화는 위 예시와 같이 명확하면서 단순한 루프만 벡터화 하는 것이 가능하고 조금만 더 복잡한 구현을 하는 경우는 컴파일러의 최적화는 기대할 수 없다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기